package cn.shengchao.examstar.rpc.distribute.bi;

import cn.shengchao.examstar.rpc.base.PageResult;
import cn.shengchao.examstar.rpc.base.TransResult;
import cn.shengchao.examstar.rpc.distribute.dto.CourseNodesDistributeTree;
import cn.shengchao.examstar.rpc.distribute.dto.CourseNodesDistributeTreeNodesVo;
import cn.shengchao.examstar.rpc.distribute.dto.DistributeContentBatchDto;
import cn.shengchao.examstar.rpc.distribute.req.CourseDistributeQueryPage;
import cn.shengchao.examstar.rpc.distribute.req.CourseDistributeUserQueryPage;
import cn.shengchao.examstar.rpc.distribute.resp.CourseDistributeForUserRespEntity;
import cn.shengchao.examstar.rpc.distribute.resp.CourseDistributeRespEntity;

import java.util.List;

/**
 * @program: examstarapi
 * @description: 内容分销综合业务
 * @author: Xiong weiqiang
 * @create: 2025-03-29 14:30
 */
public interface DistributeContentBI {

    List<CourseNodesDistributeTreeNodesVo> getCourseNodesTreeVo(Long courseId);
    List<CourseNodesDistributeTree> getCourseNodesTree(Long courseId,Long userId);
    PageResult<CourseDistributeRespEntity> getCourseDistributeList(CourseDistributeQueryPage courseDistributeQueryPage);

    PageResult<CourseDistributeForUserRespEntity> getCourseDistributeListForUser(CourseDistributeUserQueryPage courseDistributeQueryPage);
    TransResult<String> distributeContentRegister(DistributeContentBatchDto distributeContentBatchDto);


    void distributeContentClear(DistributeContentBatchDto distributeContentBatchDto);
}